package org.xtremeobjects.domain.person;

import java.util.List;

import org.xtremeobjects.domain.model.ddd.GenericRepository;
import org.xtremeobjects.domain.model.ddd.Repository;
import org.xtremeobjects.domain.party.Party;
import org.xtremeobjects.domain.party.PartyRepository;

public interface PersonRepository extends PartyRepository {

/*	
	void addPerson( Person aPerson );
	void removePerson( Person aPerson );
	void updatePerson( Person aPerson );
	void removePeople( List<Person> people );

//	List<Person> allInstances(); /**/

	Party findPersonById( String id );
	List<Person> findPeopleByNameLike( String name );
	List<Person> findPeopleByPhone( String phone );
	List<Person> findPeopleByEmail( String email );
	List<Person> findPeopleByAge(int from, int to);
	List<Person> findPeopleByZipCode( String zipcode);
	List<Person> findPeopleByCity( String city );
	
}
